# encoding: utf-8
# 项目名称： djangoProject
# @File  : encrypt.py
# @Author: SunHao
# @Desc :   加密
# @Date  :   14:46 2024/11/23
import hashlib
import uuid
from django.conf import settings
from django.contrib.auth.hashers import make_password, check_password


def md5(text_str):
    """
        md5 加盐 加密
    """

    result_str = hashlib.md5(settings.SECRET_KEY.encode("utf-8"))  # 加盐  SECRET_KEY django随机生产的
    result_str.update(text_str.encode("utf-8"))
    return result_str.hexdigest()


def create_password_hash(password):
    """
    创建密码哈希值。
    :param password: 明文密码
    :return: 哈希后的密码
    """
    return make_password(password)


def verify_password(plain_password, hashed_password):
    """
    验证明文密码是否与哈希密码匹配。
    :param plain_password: 明文密码
    :param hashed_password: 哈希后的密码
    :return: 匹配返回 True，否则返回 False
    """
    return check_password(plain_password, hashed_password)

    # def clean_password(self):
    #     password = self.cleaned_data['password']
    #     hashed_password = encrypt.create_password_hash(password)
    #     return hashed_password
    # # 密码校验,获取2个密码
    # def clean_confirm_password(self):
    #     password = self.cleaned_data['password']
    #     confirm_password = self.cleaned_data['confirm_password']
    #     if not encrypt.verify_password(confirm_password, password):
    #         raise ValidationError("两次密码不一致,请重新输入并校验")
    #     return confirm_password


